package org.xw.service;

import jakarta.servlet.http.HttpServletRequest;
import org.xw.dto.ManagerCheckDto;
import org.xw.dto.UserDto;
import org.xw.pojo.ManagerCheckPojo;
import org.xw.pojo.UserPojo;

import java.util.HashMap;
import java.util.List;

public interface ManagerService {
    /**
     * 传入用户数据进行管理员 Manager 的注册
     *
     * @param user 注册信息
     * @return 是否成功
     */
    Integer signManager(UserPojo user);


    /**
     * 传入登录的电话号码 phone，密码 password 进行登录
     *
     * @param phone
     * @return
     */
    HashMap managerLogin(String phone, String password);


    /**
     * 头像审核 传入审核对象，包含用户id userId，审核内容 checkContent，审核员 operate_manager，是否同意申请 is_approve，操作时间 operate_time
     * 同意后 将审核内容 checkContent更新到对应申请用户的头像位置
     *
     * @param managerCheck
     * @return
     */
    Integer agreeChangeHeadImage(ManagerCheckPojo managerCheck, HttpServletRequest request);

    /**
     * 封禁或解封用户  传入用户信息，进行解封或者封禁
     *
     * @param user 需要解封或者封禁的用户信息
     * @return 是否解封或者解封成功
     */
    Boolean isBanUser(UserDto user);


    /**
     * 审核请求列表   查看数据库中所有审核请求
     *
     * @param checkType 审核请求类型， 0：查询所有， 1,2,3.。。：查询对应类型审核请求
     * @return 审核请求数据
     */
    List<ManagerCheckDto> checkList(Integer checkType);
}
